class Decorator(object):
    def __init__(self, fn):

        # 初始化操作
        self.__fn = fn

    # 类里面使用call方法，该对象实例是一个可调用对象
    def __call__(self, *args, **kwargs):
        print("请先登陆")
        self.__fn(args[0])


@Decorator  # => say = Decorator(say)  等价与一个Decorator对象的实例
def say(info):
    print(info)


say('hello')

# def show():
#     print('xxxx')
#     print(dir(show))
#
# show()
